草庐IT

c++ - C++ 最快 `finally`

全部标签

c++ - 搜索硬盘中所有文件的最快方法是什么?

我目前正在尝试搜索硬盘中的所有文件。我将在窗口7上搜索大量文档。这意味着使用大量文件I/O...我在想我应该使用多线程或异步I/O。你怎么看? 最佳答案 如果您以正确的方式考虑它,这很适合工作流水线:线程1使用目录列表来检索和获取目录列表。线程2使用目录列表并将其他目录分派(dispatch)回线程1,同时将文件转发到线程3。同时,线程3有一个简单的工作:一次从文件中获取N页数据,并将它们转发给线程4,线程4在内存页面中搜索匹配项。因为应用程序主要受IO限制,所以您可以轻松地在线程3中投入一些CPU来优化请求的并发性和优先级,以尝试

c# - 在 Windows 窗体上绘制多个自定义矩形控件的最快方法是什么

背景我正在用c#.net构建一个Windows应用程序(winforms)。主窗体需要显示一个仪表板控件,它基本上是一个资源调度程序。时间在底部运行。在y轴上运行的项目。我过去用过ComponentGoResourceScheduler对于这类东西,但这次我需要更多的定制。所以我想建立自己的。我需要能够在表单上绘制矩形。大小基于开始和结束时间。我需要能够为矩形完全着色,还需要半填充。矩形需要在上方和下方有一个标签/文本。我需要能够捕获矩形上的鼠标事件。鼠标移动、双击等我需要能够在显示的“时间”发生变化时重新绘制矩形——即向前移动、向后移动(底部的按钮)。这是所需布局的模型:问题我基于P

windows - 获取目录大小和磁盘大小的最快方法

我最近answered对于类似的问题,但我现在想做的是使用bash模拟Windows“目录-->右键单击​​-->属性”功能(见图)。我能够使用此命令以字节为单位重现类似Size:的内容:echo$(find.-typef-printf"%s+")|sed's/+$//g'|bc这是相当快的,但是否有可能更快地获取信息(比查找)或更快地进行数学运算(比bc)?此外,我会使用du-sb命令来模拟SizeonDisk:和可能的另外几个find来计算文件和目录,模拟Contains:行。有没有更好的方法来模拟这样的结果? 最佳答案 假设c

c# - 在 C# 中获取屏幕像素颜色的最快方法

我正在寻找用C#捕获单个屏幕像素颜色的最快方法到目前为止,我将GDI+方法与System.Threading.Timer一起使用,该方法在回调中调用捕获函数,但我正在寻找实现目标的最佳方法我现在的代码是这样运行的System.Threading.TimerstTimer=newSystem.Threading.Timer(timerFired,null,0,1);调用一个包含这个方法的函数[DllImport("gdi32.dll")]privatestaticexternintBitBlt(IntPtrsrchDC,intsrcX,intsrcY,intsrcW,intsrcH,In

windows - 在 64 位 Windows 应用程序中获取 TID(线程信息 block )的最快方法?

我有一个计算密集型模块,我在其中添加了堆栈跟踪以便能够找到特定问题。尽管启用此堆栈跟踪时允许应用程序运行得更慢,但它不能运行慢10倍。这就是为什么我不使用DBGHELP.DLL中的StackWalk例程,而是使用帧指针自己遍历堆栈(因此我不使用FramePointerOmission编译器选项)。在大多数情况下,获取调用堆栈工作正常并且非常快,但在某些情况下,我的逻辑会失败,因为其中一个帧指针指向堆栈外的地址(不多,只是一点点)。我知道这可能是某个地方的错误,但为了能够使我的代码更安全,我需要一种方法来检查帧指针是否指向当前线程堆栈中的内存位置。该应用程序为64位,可在Windows下

windows - 哪个是最快的TAR应用程序?

Asitcurrentlystands,thisquestionisnotagoodfitforourQ&Aformat.Weexpectanswerstobesupportedbyfacts,references,orexpertise,butthisquestionwilllikelysolicitdebate,arguments,polling,orextendeddiscussion.Ifyoufeelthatthisquestioncanbeimprovedandpossiblyreopened,visitthehelpcenter提供指导。7年前关闭。我有一个脚本可以覆盖整

c++ - 逐行读取字符串文本文件的最快方法

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WhatistheFastestMethodforHighPerformanceSequentialFileI/OinC++?我环顾四周,仍然不确定这个问题的答案。当从一个文本文件中读取每一行都有一个任意单词时,从该文件中读取单词的绝对最快的方法是什么?项目范围要求尽可能快地读取文件。在Windows7上使用VisualStudio。不考虑跨平台。编辑:请记住,此文件读取是一次性的,不会再次读取也不会写入。程序启动,从文件中读取,将其推送到数据结构中,并且再也不会调用loadFile()函数。

c# - 检查特定网站上的大代理列表的最快方法是什么?

我有一个很大的代理服务器列表(txt文件,每行格式=ip:port)并编写了下面的代码来检查它们:publicstaticvoidMyChecker(){string[]lines=File.ReadAllLines(txtProxyListPath.Text);Listlist_lines=newList(lines);Listlist_lines_RemovedDup=newList();HashSetHS=newHashSet();intDuplicate_Count=0;intbadProxy=0;intCheckedCount=0;foreach(stringlineinli

c++ - 在 windows 中以 1ms 的精度找出时间的最快方法是什么?

对绝对时间感兴趣,而不是测量持续时间的方法。Win32APIC++ 最佳答案 为此你需要特殊的硬件。尽管WindowsAPI报告毫秒,但根据此讨论,它并不完全准确:MostintelpentiumbasePC's(I'mnotsureaboutothers)haveatimerchiponthemotherboardthathasa1.19318166667MHzcounter.ThecountercountsdownfromN(bydefaultN=65535)to1attherateof1.19318166667MHz.Thes

python - 在 Windows 上优雅地终止子 Python 进程,以便 Finally 子句运行

在Windows机器上,我有许多父进程将启动子进程的场景。出于各种原因-父进程可能想要中止子进程但是(这很重要)允许它清理-即运行finally子句:try:res=bookResource()doStuff(res)finally:cleanupResource(res)(这些东西可能嵌入在更近的上下文中-通常围绕硬件锁定/数据库状态)问题是我找不到在Windows中向子进程发出信号的方法(就像在Linux环境中那样),因此它会在终止前运行清理。我认为这需要让子进程以某种方式引发异常(就像Ctrl-C那样)。我尝试过的事情:操作系统杀操作系统信号subprocess.Popen带有c